HCP Terraformで監査証跡用のAPIトークンを発行できるようになりました

HCP Terraformで監査証跡用のAPIトークンを発行できるようになりました

Clock Icon2024.08.22

HCP Terraformで監査証跡へのアクセス用のAPIトークンを発行できるようになりました。

https://www.hashicorp.com/blog/hcp-terraform-adds-granular-api-access-for-audit-trails

今まではAPI経由で監査証跡にアクセスするには、組織トークンを作成する必要がありました。

組織トークンは権限が強く、監査証跡のアクセス以外の権限も付与されいます。

今回のアップデートで監査証跡アクセス用の最小権限のトークンを発行できるようになり、セキュアに監査証跡へのアクセスが可能になりました。

このブログでは、監査証跡用のAPIトークンの発行と利用を試してみます。

やってみた

監査証跡トークンの作成

HCP Terraformのコンソール -> Settings -> Security -> API tokensの順に選択します。

Audit Tokensという項目が確認できます。こちらが今回のアップデートで追加されたものです。

トークンを作成していきます。

Audit Tokes -> Generate an audit tokenの順に選択します。

API_Tokens___classmethod-sandbox___HCP_Terraform.png

他のトークンと同様に有効期限を設定できます。任意の期限を設定して、Generate tokenを選択します。

API_Tokens___classmethod-sandbox___HCP_Terraform.png

トークンが表示されるため、コピーして保存しておきます。

API_Tokens___classmethod-sandbox___HCP_Terraform.png

監査証跡トークンを使って監査証跡にアクセス

トークンを使って監査証跡APIを実行してみます。

# トークンの設定
TOKEN="<前の手順で生成したトークン>"
# APIリクエスト
curl \
  --header "Authorization: Bearer $TOKEN" \
  --request GET \
  "https://app.terraform.io/api/v2/organization/audit-trail"

https://developer.hashicorp.com/terraform/cloud-docs/api-docs/audit-trails

レスポンスで監査証跡を確認できます。(サンプルレスポンスは上記リンクを参照ください)

権限の確認のために、監査証跡以外のAPIも実行してみましょう。

チームを参照してみます。

https://developer.hashicorp.com/terraform/cloud-docs/api-docs/teams

curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --request GET \
  https://app.terraform.io/api/v2/organizations/<Organizations名>/teams

レスポンスの"data"が空であることが確認できるはずです。権限が絞られていることを確認できました。

参考

https://developer.hashicorp.com/terraform/cloud-docs/users-teams-organizations/api-tokens?ajs_aid=9d245d2d-3c8b-4c44-828a-9e32ec71ad57&product_intent=terraform#organization-api-tokens

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.